#include "mylabel.h"
#include<QMouseEvent>
#include<QDebug>

MyLabel::MyLabel(QWidget *parent)
    : QLabel(parent){}

void MyLabel::mousePressEvent(QMouseEvent *event)
{
    QString str = QString("鼠标按下: x = %1, y = %2").arg(event->x()).arg(event->y());
    qDebug() << str.toUtf8().data();
}

// bool MyLabel::event(QEvent *event)
// {
//     // 如果是鼠标按下，在event事件分发前做拦截操作
//     if(event->type() == QEvent::MouseButtonPress)
//     {
//         QMouseEvent *event = static_cast<QMouseEvent *>(event);
//         QString str = QString("Event函数中鼠标按下: x = %1, y = %2").arg(event->x()).arg(event->y());
//         qDebug() << str.toUtf8().data();
//         return true; // 返回true，代表用户自己处理，不向下分发
//     }
//     // 其他事件交给父类处理（默认处理）
//     return QLabel::event(event);
// }

bool MyLabel::event(QEvent *event)
{
    if (event->type() == QEvent::MouseButtonPress)
    {
        // 如果事件已经在 eventFilter 中处理，这里不再处理
        return true;
    }

    return QLabel::event(event); // 其他事件交给父类处理
}
